package itsen.com.bduidemo.modle.system.service;

import android.app.IntentService;
import android.content.Intent;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.util.Log;

/**
 * Created by zds
 * Created time 2018/2/6 12:23
 * Description:DNui
 * Version: V 1.0
 */

public class ServiceIntents extends IntentService {
    private final String TAG = "hehe";
    /**
     * 必须实现父类的构造方法
     * Creates an IntentService.  Invoked by your subclass's constructor.
     *
     * @param name Used to name the worker thread, important only for debugging.
     */
    public ServiceIntents(String name) {
        super(name);
    }



   /**
   必须重写的核心方法
   */
    @Override
    protected void onHandleIntent(@Nullable Intent intent) {
    //Intent是从Activity发过来的，携带识别参数，根据参数不同执行不同的任务
        String action = intent.getExtras().getString("param");
        if(action.equals("s1")){
            Log.i(TAG,"启动service1");
        }
        else if(action.equals("s2")){
            Log.i(TAG,"启动service2");
        }
        else if(action.equals("s3")){
            Log.i(TAG,"启动service3");
        }
        //让服务休眠2秒
        try{
            Thread.sleep(2000);
        }catch(InterruptedException e){
            e.printStackTrace();
        }
    }

    //重写其他方法,用于查看方法的调用顺序
    @Override
    public IBinder onBind(Intent intent) {
        Log.i(TAG,"onBind");
        return super.onBind(intent);
    }

    @Override
    public void onCreate() {
        Log.i(TAG,"onCreate");
        super.onCreate();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.i(TAG,"onStartCommand");
        return super.onStartCommand(intent, flags, startId);
    }


    @Override
    public void setIntentRedelivery(boolean enabled) {
        super.setIntentRedelivery(enabled);
        Log.i(TAG,"setIntentRedelivery");
    }

    @Override
    public void onDestroy() {
        Log.i(TAG,"onDestroy");
        super.onDestroy();
    }
}
